import axios from 'axios'
import {
  Message
} from "element-ui";
import store from '@/store'
const service = axios.create({
  baseURL: process.env.NODE_ENV === 'development' ? "http://iamfox.natapp1.cc/11000/api" : "http://118.31.12.173:11000/api", // api的base_url
  // baseURL:"http://iamfox.natapp1.cc/11000/api",
  timeout: 5000 // request timeout
})

// request interceptor
service.interceptors.request.use(config => {
  // Do something before request is sent
  if (store.getters.token) {
    // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
    config.headers['access-token'] = store.getters.token
  }
  return config
}, error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
})

// respone interceptor
service.interceptors.response.use(
  // response => response.data,
  /**
   * 下面的注释为通过在response里，自定义code来标示请求状态
   * 当code返回如下情况则说明权限有问题，登出并返回到登录页
   * 如想通过xmlhttprequest来状态码标识 逻辑可写在下面error中
   * 以下代码均为样例，请结合自生需求加以修改，若不需要，则可删除
   */
  response => {
    if (response.data.code == "no_login" || response.data.code == "login_expire") {
      Message({
        message: '请重新登录',
        type: 'error',
        duration: 5 * 1000
      })
    }
    return response.data
  },
  error => {
    console.log(error)
    console.log('err' + error) // for debug
    Message({
      message: error.response.data.msg,
      type: 'error',
      duration: 5 * 1000
    })
    return Promise.reject(error)
  })

export default service